package jdbc;

import java.io.*;
import java.sql.*;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

/**
 * 测试CLOB-文本大对象的使用
 */
public class Demo09 {

    public static void main(String[] args) {
        Connection conn=null;
        PreparedStatement ps=null;
        ResultSet rs=null;
        try {
            //加载驱动类
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc?serverTimezone=Asia/Shanghai","root","123456");
            String sql="insert into t_user (username,pwd,regTime,myInfo) values(?,?,?,?)";
            /*//向数据库中插入文本
            ps=conn.prepareStatement(sql);
            ps.setString(1,"lhh");
            ps.setString(2,"123");
            ps.setTimestamp(3,new Timestamp(System.currentTimeMillis()));
            //ps.setClob(4,new FileReader(new File("d:/a.txt")));//使用流读取文件数据到数据库
            //将程序中的字符串输入到数据库中
            ps.setClob(4,new BufferedReader(new InputStreamReader(new ByteArrayInputStream("大家好,我系渣渣辉".getBytes()))));
            ps.executeUpdate();
            */
            //读取数据库中的文本
            ps=conn.prepareStatement("select * from t_user where id>?");
            ps.setInt(1,20015);
            rs=ps.executeQuery();
            Reader r=null;
            while (rs.next()){
                Clob c=rs.getClob(5);
                r=c.getCharacterStream();
                int temp=0;
                while ((temp=r.read())!=-1){
                    System.out.print((char) temp);
                }
                System.out.println();
            }
            r.close();
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            if (ps!=null){
                try {
                    ps.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
